home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 16 / AMIGAplus Sonderheft 16 (1998)(ICP)(DE)[!].iso / rexx / conv2meta.amicad < prev    next >
Text File  |  1998-02-23  |  3KB  |  131 lines

  1. /* Conversion du fichier courant sous le format META puis
  2. conversion à l'aide du format spécifié à l'aide de MetaView.
  3. (c) R.Florac, 18 février 1998, Chez Corbin */
  4.  
  5. METAVIEW = 'DP:Système/MetaView/MetaView'
  6.  
  7. options results
  8.  
  9. SIGNAL ON FAILURE
  10. signal on error
  11. signal on syntax
  12.  
  13. APLPORT = ADDRESS()
  14.  
  15. 'SAVE("RAM:AmiCAD.FILE")'
  16. fichier="RAM:AmiCAD.META"
  17.  
  18. 'TITLE("Conversion au format META en cours...")'
  19. ADDRESS COMMAND
  20. 'Travail:AmiCAD/AmiCAD2META' || " RAM:AmiCAD.FILE TO " || '"'fichier'"' ||" FORCE QUIET LIBS=Travail:AmiCAD/Bibliothèques"
  21.  
  22. do NUMBER = 0 to 20
  23.     if (SHOW(PORTS,"METAVIEW." || NUMBER) = 0) then
  24.     leave
  25. end
  26.  
  27. /*
  28. ** Searching for MetaView: 1. our path above,
  29. **    2. path in env:MetaView.path
  30. ** or 3. you must have a assign "MetaView:"
  31. */
  32.  
  33. if (EXISTS(METAVIEW)=0) then do
  34.     if OPEN("MVVAR","env:MetaView.path","Read") then do
  35.     METAVIEW = READLN("MVVAR")
  36.     end
  37.     if (EXISTS(METAVIEW)=0) then do
  38.     METAVIEW = "MetaView:MetaView"
  39.     end
  40. end
  41.  
  42. /*
  43. ** Enable warnings for WaitForPort
  44. */
  45.  
  46. OPTIONS FAILAT 5
  47. ADDRESS COMMAND
  48.     "run " || METAVIEW || " NODISPLAY"
  49.     MVPORT = "METAVIEW." || NUMBER
  50.     "WaitForPort " || MVPORT
  51.  
  52. OPTIONS FAILAT 21
  53.  
  54. ADDRESS(APLPORT)
  55.  
  56. 'TITLE(""):SELECT("Format sauvegarde"+CHR(10)+"AMF"+CHR(10)+"WMF"+CHR(10)+"DR2D"+CHR(10)+"CGM"+CHR(10)+"GEM"+CHR(10)+"EPS"+CHR(10)+"AI"+CHR(10)+"HPGL"+CHR(10)+"ILBM"+CHR(10)+"META")'
  57. CHOICE = result
  58. if result>0 then do
  59.     extension.1 = "AMF"
  60.     extension.2 = "WMF"
  61.     extension.3 = "DR2D"
  62.     extension.4 = "CGM"
  63.     extension.5 = "GEM"
  64.     extension.6 = "EPS"
  65.     extension.7 = "AI"
  66.     extension.8 = "HPGL"
  67.     extension.9 = "ILBM"
  68.     extension.10= "META"
  69.     'REQFILE("Fichier 'extension.CHOICE' destination?","RAM:")'
  70.     FILENAME=result
  71.     if FILENAME~="" then do
  72.     if POS(extension.CHOICE,FILENAME)=0 then FILENAME=FILENAME||"."||extension.CHOICE
  73.     FILENAME='"'||FILENAME||'"'
  74.  
  75.     ADDRESS VALUE MVPORT
  76.     LOAD fichier
  77.     select
  78.         when CHOICE = 1 then do
  79.         SAVE FILENAME AS AMF
  80.         end
  81.         when CHOICE = 2 then do
  82.         SAVE FILENAME AS WMF
  83.         end
  84.         when CHOICE = 3 then do
  85.         SAVE FILENAME AS DR2D
  86.         end
  87.         when CHOICE = 4 then do
  88.         SAVE FILENAME AS CGM
  89.         end
  90.         when CHOICE = 5 then do
  91.         SAVE FILENAME AS GEM
  92.         end
  93.         when CHOICE = 6 then do
  94.         SAVE FILENAME AS EPS
  95.         end
  96.         when CHOICE = 7 then do
  97.         SAVE FILENAME AS AI
  98.         end
  99.         when CHOICE = 8 then do
  100.         SAVE FILENAME AS HPGL
  101.         end
  102.         when CHOICE = 9 then do
  103.         SAVE FILENAME AS ILBM
  104.         end
  105.         otherwise do
  106.         ADDRESS COMMAND
  107.         'c:copy' " RAM:AmiCAD.META TO "||FILENAME
  108.         end
  109.     end
  110.     end
  111. end
  112. fin:
  113. ADDRESS COMMAND
  114. 'c:delete' " RAM:AmiCAD.FILE RAM:AmiCAD.META QUIET"
  115. ADDRESS(APLPORT)
  116. 'TITLE("")'
  117. EXIT
  118.  
  119. /* Traitement des erreurs, interruption du programme */
  120. FAILURE:
  121. syntax:
  122. erreur=RC
  123. ADDRESS(APLPORT)
  124. 'MESSAGE("Script Conv2META"+CHR(10)+"Erreur de syntaxe"+CHR(10)+"en ligne 'SIGL'"+CHR(10)+"'errortext(erreur)'")'
  125. exit
  126.  
  127. error:
  128. ADDRESS(APLPORT)
  129. 'MESSAGE("Script Conv2META"+CHR(10)+"Erreur en ligne 'SIGL'")'
  130. exit
  131.